package com.ts.api.module.channel.dao;

import com.ts.api.module.channel.entity.po.ChannelUserRegisterPO;
import com.ts.api.module.channel.entity.qo.ChannelUserQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  渠道用户相关持久层
 */
@Mapper
public interface ChannelUserDao {

    /**
     *  根据手机号获取用户对象
     *
     *  @param  channelUserQO   查询对象
     *  @return ChannelUserRegisterPO
     */
    ChannelUserRegisterPO get(ChannelUserQO channelUserQO);

    /**
     *  右匹配手机号(模糊查询)
     *
     *  @param  channelUserQO   查询对象
     *  @return List
     */
    List<ChannelUserRegisterPO> listRightMatchPhone(ChannelUserQO channelUserQO);

    /**
     * 根据渠道插入用户
     *
     * @param  userRegister
     * @return int
     */
    int insert(ChannelUserRegisterPO userRegister);

    /**
     * 根据手机号查询总数
     *
     * @param  phone
     * @return int
     */
    int countByPhone(@Param("phone") String phone);

    /**
     * 根据手机号MD5查询总数
     *
     * @param  phoneMd5
     * @return int
     */
    int countByPhoneMd5(@Param("phoneMd5") String phoneMd5);

    /**
     * 用户更新
     *
     * @param userRegisterPO
     * @return
     */
    int update(ChannelUserRegisterPO userRegisterPO);
}
